package com.xzcedu.reader_;

import java.io.*;

/**
 * @author 徐州城
 * @version 1.0
 * 演示BufferedReader 使用
 * 使用BufferedReader 读取文本文件，并显示再控制台
 */
public class BufferedReader_ {
    public static void main(String[] args) {
        //指定读取的文件路径
        String filePath = "e:\\story.txt";
        //创建BufferedReader
        BufferedReader bufferedReader = null;

        try {
            bufferedReader = new BufferedReader(new FileReader(filePath));
            String line;//按行读取，效率高
            //说明
            //1. bufferedReader.readLine()
            //2. 当返回null时，表示文件读取完毕

            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }


        } catch (IOException e) {
            e.printStackTrace();

        } finally {

            try {
                //关闭流，这里注意，只需要关闭 BufferedReader，因为这个底层会自动的去关闭 节点流
                //FileReader。
                /*
                public void close() throws IOException {
                    synchronized (lock) {
                        if (in == null)
                            return;
                        try {
                            in.close();//in 就是我们传入的new FileReader(filePath)
                        } finally {
                            in = null;
                            cb = null;
                        }
                    }
                }
                 */
                bufferedReader.close();
                System.out.println("关闭成功...");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        System.out.println("程序结束...");
    }
}
